#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>

int main()
{
    printf("hello world!\n");

    
    // while(1)
    // {
    //     sleep(1);
    //     printf("这个子进程开始执行->%d,它的父进程为->%d\n", getpid(),getppid());
    //     //printf("这个进程开始执行->%d\n",getpid());
    // }
    // printf("父进程开始执行->%d\n", getpid());
    // //创建一个子进程
    // fork();
    // printf("现在进程为->%d，它的父进程为->%d\n\n",getpid(),getppid());


    // printf("父进程开始执行->%d\n", getpid());
    // //接受返回值
    // int ret = fork();
    // while(1)
    // {
    //     if(ret == 0)
    //     {
    //         sleep(1);
    //         printf("这是一个子进程->%d,它的父进程为->%d\n", getpid(), getppid());
    //     }
    //     else if(ret == -1)
    //     {
    //         perror("fork fail");
    //         exit(1);
    //     }
    //     else
    //     {
    //         sleep(1);
    //         printf("这是一个父进程->%d,它的父进程为->%d\n", getpid(), getppid());
    //     }
    // }
    
    //chdir("/home/mihayou");
    //fopen("hellomihayou.txt","a");
    int sum = 100;
    printf("父进程开始执行->%d\n", getpid());
    //接受返回值
    int ret = fork();
    while(1)
    {
        if(ret == 0)
        {
            sleep(1);
            printf("这是一个子进程->%d,此时的sum=%d\n", getpid(), sum);
            sum++;
        }
        else if(ret == -1)
        {
            perror("fork fail");
            exit(1);
        }
        else
        {
            sleep(1);
            printf("这是一个父进程->%d,此时的sum=%d\n", getpid(), sum);
        }
    }

    return 0;
}
